
package com.shop.cloud.weixin.common.entity;

import cn.hutool.json.JSONArray;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.shop.cloud.common.core.mybatis.typehandler.JsonArrayTypeHandler;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.time.LocalDateTime;
import java.util.List;


import io.swagger.v3.oas.annotations.media.Schema;
import org.apache.ibatis.type.JdbcType;

/**
 * 微信模板/订阅消息
 *
 * @author
 * @date 2020-04-16 17:30:03
 */
@Data
@TableName("wx_template_msg")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "微信模板/订阅消息")
public class WxTemplateMsg extends Model<WxTemplateMsg> {
    private static final long serialVersionUID=1L;

    /**
     * 主键
     */
    @TableId(type = IdType.ASSIGN_ID)
    @Schema(description = "主键")
    private String id;
    /**
     * 创建者
     */
    @Schema(description = "创建者")
    private String createId;
    /**
     * 创建时间
     */
    @Schema(description = "创建时间")
    private LocalDateTime createTime;
    /**
     * 更新者
     */
    @Schema(description = "更新者")
    private String updateId;
    /**
     * 更新时间
     */
    @Schema(description = "更新时间")
    private LocalDateTime updateTime;
    /**
     * 备注
     */
    @Schema(description = "备注")
    private String remark;
    /**
     * 逻辑删除标记（0：显示；1：隐藏）
     */
    @Schema(description = "逻辑删除标记（0：显示；1：隐藏）")
    private String delFlag;
    /**
     * （1：开启；0：关闭）
     */
    @Schema(description = "（1：开启；0：关闭）")
    private String enable;
    /**
     * 所属租户
     */
    @Schema(description = "所属租户")
    private String tenantId;
    /**
     * 公众号配置ID、小程序AppID
     */
    @Schema(description = "公众号配置ID、小程序AppID")
    private String appId;
    /**
     * 模板ID
     */
    @Schema(description = "模板ID")
    private String priTmplId;
    /**
     * 模版标题
     */
    @Schema(description = "模版标题")
    private String title;
    /**
     * 模版内容
     */
    @Schema(description = "模版内容")
	@TableField(typeHandler = JsonArrayTypeHandler.class, jdbcType= JdbcType.VARCHAR)
    private JSONArray content;
    /**
     * 模板内容示例
     */
    @Schema(description = "模板内容示例")
    private String example;
    /**
     * 发送公众号模板信息时需跳转的小程序appId
     */
    @Schema(description = "发送公众号模板信息时需跳转的小程序appId")
    private String maAppId;
	/**
	 * 用途，2：订单支付成功；3、订单发货提醒
	 */
	@Schema(description = "用途，2：订单支付成功；3、订单发货提醒")
    private String useType;
	@TableField(exist = false)
	private List<String> useTypeList;
}
